Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', '../vendor/ext/src/ux');
Ext.require([
    'Ext.form.Panel',
    'Ext.ux.form.MultiSelect',
]);

Ext.application({
    name: 'cp',
 
    appFolder: 'app',
    controllers: ['Secretaria'],
    
    launch: function() {
       Ext.apply(Ext.form.field.VTypes, {
           // Solo letras, espacios y caracteres españoles. Descarta blancos.
            letrasEspacios: function(value,field){
                if (/^\s+$/.test(value)){
                    return false;
                }else{
                    return /^[A-Za-záéíóúÁÉÍÓÚñÑ ]*$/.test(value);
                }
            },
            letrasEspaciosText: 'Datos ingresados incorrectos. Por favor, ingrese solo letras, espacios y caracteres españoles.',
            // Solo letras, espacios, caracteres españoles, numeros. Descarta Blancos
            domicilio: function(value,field){
                if (/^\s+$/.test(value)){
                    return false;
                }else{
                    return /^[A-Za-záéíóúÁÉÍÓÚñÑ.,°0123456789 ]*$/.test(value);
                }
            },
            domicilioText: 'Datos ingresados incorrectos. Por favor, ingrese solo letras, espacios, números y caracteres españoles.',
            // Solo numeros. Descarta blancos
            identificacion: function(value,field){
                if (/^\s+$/.test(value)){
                    return false;
                }else{
                    return /^(?:\+|-)?\d+$/.test(value);
                }
            },
            identificacionText: 'Datos ingresados incorrectos. Por favor, ingrese solo números.',
            // Valida telefonos
            telefono: function(value,field){
                if (/^\s+$/.test(value)){
                    return false;
                }else{
                    // (nro de area sin 0) - (numero bruto, sin 15 en caso de movil)
                    return /^[0-9]{2,3}-? ?[0-9]{6,7}$/.test(value);
                }
            },
            telefonoText: 'Datos ingresados incorrectos. Por favor, un número telefonico válido.'
       });
        
        Ext.create('Ext.container.Viewport', {
            layout: 'border',
            items: [
                {
                    region: 'north',
                    border: false,
                    items: Ext.create('cp.view.ui.ToolbarSecretaria',{})
                },
                {
                    region: 'center',
                    html: "<img src='src/images/logo_main.png' style='margin: 8% 0 0 31%'/>",
                    border: false
                },
                {
                    region: 'south',
                    items: Ext.create('cp.view.ui.Statusbar',{}),
                    border: false
                }
            ]
        });
    }
});